package com.appfahrt.persistence.obj.dao.generated;

import java.util.ArrayList;
import java.sql.SQLException;

//TODO:ggf wegfallen
import android.content.Context;
import android.database.Cursor;

import com.appfahrt.persistence.obj.AppFahrtDbDefaultDao;
import com.appfahrt.persistence.obj.dbo.FahrtteilnehmerDbo;
import com.appfahrt.persistence.obj.utility.ReflectionUtility;
import com.appfahrt.persistence.obj.utility.Utility;

/**
 * This Class is automatically generated.<br><br>
 *
 * <br><b>DON'T MODIFY THIS FILE</b><br><br>
 *
 * Generated: Sun May 22 22:20:18 CEST 2011
 */
public class FahrtteilnehmerGeneratedDao extends AppFahrtDbDefaultDao {

	private References references = new References();


	/**
	 * Value Holder for the finder methods 
	 * by references.
	 */
	public class References {
	
	}

	/**
	 * Constructor.
	 */
	public FahrtteilnehmerGeneratedDao(Context pContext) {
		super(pContext);
	}
	
	/**
	 * Returns the finder methods
	 * by references
	 */
	public References getReferences() {
		return this.references;
	}
/*
	public FahrtteilnehmerDbo findWithPrimaryKey() throws SQLException {
		FahrtteilnehmerDbo result = null;
		findBySqlReturnObject(
			FahrtteilnehmerDbo.class, 
			"SELECT * FROM ${schema}.fahrtteilnehmer WHERE ", 
			new Object[]{});
		return result;
	}
	@SuppressWarnings("unchecked")
	public ArrayList<FahrtteilnehmerDbo> findBySqlReturnArrayList(String sql, Object[] param) throws SQLException {
		ArrayList<FahrtteilnehmerDbo> result = null;
		result = findBySqlReturnArrayList(
			FahrtteilnehmerDbo.class, 
			sql, 
			param);
		return result;
	}
*/	
	/**
	 * Execute the given SQL Statement<br>
	 * @param sql
	 * @param param
	 * @return
	 * @throws SQLException
	 */
	public FahrtteilnehmerDbo findBySqlReturnObject(String pSql, String[] pParam) throws SQLException {
		FahrtteilnehmerDbo aResult = null;
		Cursor aValue =  findObject(pSql,pParam);
		if (aValue != null && aValue.moveToFirst() != false && aValue.getCount() == 1) {
			String [] aColumns = FahrtteilnehmerDbo.COLUMNS;
			aResult = new FahrtteilnehmerDbo();
			for(int i = 0; i < aColumns.length; i++){
				Object [] aParameter = new Object[] {aValue.getString(aValue.getColumnIndex(aColumns[i]))};
				String aMethode = Utility.createJavaNameFromFieldName(false,aColumns[i]);
				ReflectionUtility.executeMethod(aResult, aMethode, aParameter);
			}
		}
		return aResult;
		
		
	}

// FINDER BY INDEX

// Equals


// GreaterThan, GreaterEqualThan, LessThan, LessOrEqualThan

}